An important issue in networks connecting network components through data connections or data links relates to the optimized use of the data connections. Ideally, the utilized network protocol will provide for adjustment of transmission parameters for transmitting messages via the data connections in such a way, that the available bandwidth of the data connections are used fully, while avoiding a loss of data. This aim may be achieved by appropriate congestion control in order to estimate or calculate an optimal transmission parameter such as an optimal transmission rate with which data of a message are transmitted. If the transmission rate is too low, the bandwidth of the physical connection is not utilized fully. On the other hand, a transmission rate adjusted too high might lead to overflow of transmission buffers and eventually to data loss.
The Internet Protocol (IP) is a widely utilized network protocol for data transport. IP delivers an unreliable connection service to upper layer protocols and to applications. However, many applications, such as file transfer based applications and many peer-to-peer applications, require reliable and lossless connection oriented network services. The adoption of unreliable IP services to stream-oriented lossless reliable services is a major task of the transport layer (layer four) of the Open Systems Interconnection Basic Reference Model or OSI Model. A well known transport protocol that delivers reliable connections over IP is the Transport Control Protocol (TCP), described in the publication ISI USC, Transport Control Protocol, Request for Comments. IETF, September 1981.
However, due to limitations of TCP on high throughput long distance connections (so called Long Fat Pipes), many new approaches of alternative transport protocols have been revealed in the recent past, as described by C. Anglano and M. Canonico in their publication Performance analysis of high-performance file-transfer systems for Grid applications, Concurrency and Computation: Practice & Experience, volume 18, pages 807-816 (2006). Most of those approaches and transport protocols derive their transmission data rate from the round-trip time (RTT) or from the one-way delay (OWD). Herein the OWD denotes the time it takes for a message, for example in form of a data packet, to travel from an origin or sending network component to a destination or receiving network component, while the RTT is the time period starting when the sending network component sends out a message and ending when a reply to the sent message, transmitted by the receiving network component is received by the sending network component.
To set an initial transmission rate at which messages are transmitted, the RTT or the OWD along the message path must be estimated at the beginning of the message transmission. Thus, in the case of packet based networks, wherein data is split into a set of data packets and transmitted between a sending and a receiving network component, the measurement of the OWD of the first data packet of a data transmission is commonly used for the estimation of the initial transmission rate. Once the data transmission commences with the estimated initial transmission rate, the transmission rate will be increased or decreased dependent on the used flow control algorithm, as well as on the network conditions such as loss frequency and delays of subsequent data packets.
One category of known algorithms for controlling the increase and decrease of the transmission rate during transmission of a set of packets utilizes a principle of additive increase and multiple decrease of the data rate (AIMD), which in a TCP environment is implemented as a so called Slow Start algorithm, both being described by T. Dunigan on a web article called Floyd's TCP slow-start and AIMD mods to be found on the internet site http://www.csm.ornl.gov/˜dunigan/net100/floyd.html (June 2003).
Due to sophisticated caching mechanisms within hosts, but also within network nodes such as switches and routers of the network, the initial data packets of a data transmission or data connection experience different transmission delays than subsequent data packets. This leads to the transmission rate or other transmission parameters being adjusted by the sending network component to a value which does not properly reflect the actual conditions.